/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package state;

import view.TelaCadPaciente;

/**
 *
 * @author Kdc
 */
public class EstadoVisualizar implements StateMain {

    @Override
    public void processar(TelaCadPaciente tela) {

        setarCampos(tela);
        bloquearCampos(tela);
        bloquearBotoes(tela);
        liberarBotoes(tela);

        tela.setTitle("Visualizando Paciente");
        tela.setVisible(true);
        tela.setLocationRelativeTo(null);

        System.out.println("=====================================\nEstado Visualizar\n=====================================");
    }

    private void setarCampos(TelaCadPaciente tela) {

        //Setar os campos editaveis
        tela.getJtNome().setText(tela.getPacienteEdicao().getNome());
        tela.getJtdataNascimento().setText(tela.getPacienteEdicao().getDataNascimento());
        int pIndice = 0;

        if (tela.getPacienteEdicao().getSexo() == 'M') {
            pIndice = 1;
        } else if (tela.getPacienteEdicao().getSexo() == 'F') {
            pIndice = 2;
        }

        tela.getJcSexo().setSelectedIndex(pIndice);
        tela.getJtAltura().setText(String.valueOf(tela.getPacienteEdicao().getAltura()));
        tela.getJtPeso().setText(String.valueOf(tela.getPacienteEdicao().getPeso()));
        tela.getJtQuadril().setText(String.valueOf(tela.getPacienteEdicao().getMedidaQuadril()));
        tela.getJtCintura().setText(String.valueOf(tela.getPacienteEdicao().getMedidaCintura()));

        //Setar os campos calculados
        tela.getJlClassificacaoIMC().setText(tela.getCp().exibeClassificacaoDoMetodo(tela.getPacienteEdicao().getNome(), "IMC"));
        tela.getJlClassificacaoIAC().setText(tela.getCp().exibeClassificacaoDoMetodo(tela.getPacienteEdicao().getNome(), "IAC"));
        tela.getJlClassifcCC().setText(tela.getCp().exibeClassificacaoDoMetodo(tela.getPacienteEdicao().getNome(), "CC"));
        tela.getJlClassifcRCQ().setText(tela.getCp().exibeClassificacaoDoMetodo(tela.getPacienteEdicao().getNome(), "RCQ"));

        tela.getJlIMC().setText(tela.getCp().buscarValorMetodoCalculo(tela.getPacienteEdicao().getNome(), "IMC"));
        tela.getJlIAC().setText(tela.getCp().buscarValorMetodoCalculo(tela.getPacienteEdicao().getNome(), "IAC"));
        tela.getJlCC().setText(tela.getCp().buscarValorMetodoCalculo(tela.getPacienteEdicao().getNome(), "CC"));
        tela.getJlRCQ().setText(tela.getCp().buscarValorMetodoCalculo(tela.getPacienteEdicao().getNome(), "RCQ"));

    }

    private void bloquearCampos(TelaCadPaciente tela) {
        tela.getJcSexo().setEnabled(false);
        tela.getJtAltura().setEnabled(false);
        tela.getJtCintura().setEnabled(false);
        tela.getJtNome().setEnabled(false);
        tela.getJtPeso().setEnabled(false);
        tela.getJtQuadril().setEnabled(false);
        tela.getJtdataNascimento().setEnabled(false);
        tela.getJbSalvar().setEnabled(false);
    }

    private void bloquearBotoes(TelaCadPaciente tela) {
        tela.getJbSalvar().setEnabled(false);
    }

    private void liberarBotoes(TelaCadPaciente tela) {
        tela.getBtnNovo().setEnabled(true);
        tela.getBtnEditar().setEnabled(true);
    }

}
